package cn.yeziji.forum.entity;

import cn.org.atool.fluent.mybatis.annotation.FluentMybatis;
import cn.org.atool.fluent.mybatis.annotation.TableField;
import cn.org.atool.fluent.mybatis.annotation.TableId;
import cn.org.atool.fluent.mybatis.base.RichEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 文章实体类
 *
 * @author gzkemays
 * @since 2021/12/21 15:54
 */
@SuppressWarnings({"rawtypes", "unchecked"})
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@FluentMybatis(table = "forum_details", schema = "yzj_forum")
public class ForumDetailsEntity extends RichEntity {
  private static final long serialVersionUID = 1L;

  /** 主键 */
  @TableId("id")
  private Integer id;
  /** 用户 id */
  @TableField("userId")
  private Integer userId;
  /** 文章发布时的排名 */
  @TableField("serialNumber")
  private Long serialNumber;
  /** 浏览数量 */
  @TableField("view")
  private Long view;
  /** 作者 */
  @TableField("author")
  private String author;
  /** 自动排版 */
  @TableField("autoFormat")
  private Boolean autoFormat;
  /** 平均总评分 */
  @TableField("aveRate")
  private String aveRate;
  /** 收藏数 */
  @TableField("collectionNumber")
  private Integer collectionNumber;
  /** 评论数 */
  @TableField("commentNumber")
  private Integer commentNumber;
  /** gzip content */
  @TableField("content")
  private String content;
  /** 创建时间 */
  @TableField("createTime")
  private Date createTime;
  /** 逻辑删除标记 */
  @TableField("delete")
  private Boolean delete;
  /** 简介 */
  @TableField("desc")
  private String desc;
  /** 点赞数 */
  @TableField("goodNumber")
  private Integer goodNumber;
  /** 标签 */
  @TableField("tags")
  private String tags;
  /** 是否为草稿 */
  @TableField("tempSave")
  private Boolean tempSave;
  /** 文章标题 */
  @TableField("title")
  private String title;
  /** 更新时间 */
  @TableField("updateTime")
  private Date updateTime;
  /** 自旋锁 */
  @TableField("version")
  private Long version;
  /** 专栏 id */
  @TableField("specialId")
  private Integer specialId;

  @Override
  public final Class entityClass() {
    return ForumDetailsEntity.class;
  }
}
